package com.zmn.oms.services.interfaces.perf;

import com.zmn.oms.model.entity.perf.PerfMasterCateg;
import com.zmn.oms.model.entity.perf.PerfMasterCategQuery;

import java.util.List;

/**
 * 工程师分类绩效(PerfMasterCateg)服务层
 *
 * @author hankangshuai
 * @since 2020-03-06 17:29:49
 */
public interface PerfMasterCategService {
    /**
     * 根据主键查找
     * @param perfMasterCategId 主键ID
     * @return 数据实体
     */
    PerfMasterCateg findByKey(Integer perfMasterCategId);

    /**
     * 根据条件分页查找
     * @param query 条件
     * @return 数据实体集
     */
    List<PerfMasterCateg> listPageByQuery(PerfMasterCategQuery query);

    /**
     * 根据条件批量查找
     * @param query 条件
     * @return 数据实体集
     */
    List<PerfMasterCateg> listByQuery(PerfMasterCategQuery query);

    /**
     * 根据条件计数
     * @param query 条件
     * @return 计数
     */
    Integer countByQuery(PerfMasterCategQuery query);

    /**
     * 根据主键更新
     * @param record 包含要更新的主键及更新字段的实体
     * @return 影响行数
     */
    Integer updateByKey(PerfMasterCateg record);

    /**
     * 插入
     * @param record 实体
     * @return 影响行数
     */
    Integer insert(PerfMasterCateg record);
    /**
     * 批量插入
     *
     * @param list 实体集合
     * @return 影响行数
     */
    Integer insertBatch(List<PerfMasterCateg> list);

    /**
     * 根据主键删除
     * @param perfMasterCategId 主键ID
     * @return 影响行数
     */
    Integer deleteByKey(Integer perfMasterCategId);
}